#include <sys_head.h>

int main(int argc, char const *argv[])
{
    // 文件打开
    int fd = open( "lock_file.txt" , O_CREAT | O_RDWR , 0666);


    // 向文件中写入
    char buf[1024];
    
    while (1)
    {
        memset(buf , 0 , sizeof(buf));
        printf("请输入:");
        scanf("%s" , buf );

        close(fd);
        // 打开文件
        fd = open( "lock_file.txt" , O_RDWR );


        // 上锁
        flock( fd ,  LOCK_EX );
        

        // 移动光标到末尾
        lseek(fd , 0 , SEEK_END);  
        
        // 文件写入
        write(fd , buf , strlen(buf));

        // 退出
        if (!strcmp( buf , "quit"))
        {
            printf("已退出");
            close(fd);
            return 0;
        }

        // 解锁
        flock( fd ,  LOCK_UN );

    }
    
    // 文件关闭
    close(fd);


    return 0;
}
